package client.controller;

import client.ui.Window;

// Classe de base des controleurs subsidiaires de l'application.
// Elle possède une référence sur la vue pour permettre aux controleurs d'interragir avec.
public abstract class AbstractController {
	
	private MainController _mainController;
	
	public AbstractController(MainController mc)
	{
		_mainController = mc;
	}

	// Un "raccourci" car les controleurs subsidiaires ont souvent besoin d'accéder à la fenêtre principale de l'application
	public Window getMainWindow()
	{
		return _mainController.getMainWindow();
	}

	public MainController getMainController()
	{
		return _mainController;
	}
	
	public void setMainController(MainController mc)
	{
		_mainController = mc;
	}
	
	public abstract boolean isValid();
}